﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CoreProvince;

namespace BatDongSan.Manager
{
    public partial class ProvinceUpdate : System.Web.UI.Page
    {
        int _id;
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                _id = Convert.ToInt32(Request.QueryString["id"]);
                if (!IsPostBack)
                {
                    if (_id > 0)
                    {
                        btActiveProvine.Text = "Cập nhật";
                        LoadProvinceToUpdate(_id);
                    }
                    else
                    {
                        btActiveProvine.Text = "Thêm mới";
                        LoadProvinceToUpdate(0);
                    }
                    LoadProvinceList();
                }
                
            }
            catch { }
        }

        public void LoadProvinceList()
        {
            try
            {
                List<nlit_Province> list = new List<nlit_Province>();
                list = ProvinceBll.GetList( Utility.strConnect);
                
                grvProvince.DataSource = list;
                grvProvince.DataBind();
            }
            catch { }
        }

        public void LoadProvinceToUpdate(int id)
        {
            try
            {
                if (id > 0)
                {
                    nlit_Province list = new nlit_Province();
                    list = ProvinceBll.GetById(id, Utility.strConnect);
                    txtProvince.Text = list.Name;
                }
                else
                {
                    txtProvince.Text = "";
                }
            }
            catch { }
        }

        protected void grvProvince_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                nlit_Province info = (nlit_Province)e.Row.DataItem;

                HyperLink hplName = (HyperLink)e.Row.FindControl("hplName");
                hplName.NavigateUrl = string.Format("~/Manager/ManProvince.aspx?id={0}", info.Id);

                TextBox txtPosition = (TextBox)e.Row.FindControl("txtPosition");
                txtPosition.Text = info.OrderDisplay.ToString();

                
                LinkButton lnkbtActive = (LinkButton)e.Row.FindControl("lnkbtActive");
                if (Convert.ToBoolean(info.IsActive))
                {
                    lnkbtActive.Text = "hiện";
                    lnkbtActive.ForeColor = System.Drawing.Color.Gray; lnkbtActive.Font.Bold = false;
                }
                else { lnkbtActive.Text = "Ẩn"; lnkbtActive.ForeColor = System.Drawing.Color.Red; }
                lnkbtActive.Attributes.Add("id", info.Id.ToString());

                LinkButton lnkbtDelete = (LinkButton)e.Row.FindControl("lnkbtDelete");
                lnkbtDelete.OnClientClick = "return confirm('Bạn có chắc không?')";
                lnkbtDelete.Attributes.Add("id", info.Id.ToString());
            }
        }
        

        protected void lnkbtActive_Click(object sender, EventArgs e)
        {
            try
            {
                LinkButton lnkbtActive = (LinkButton)sender;
                int id = Convert.ToInt32(lnkbtActive.Attributes["id"]);
                if (id > 0)
                {
                    if (lnkbtActive.ForeColor == System.Drawing.Color.Red)
                    {
                        //False
                        if (ProvinceBll.UpdateIsActive(id, true, Utility.strConnect))
                        {
                            lbStatus.Text = "Bạn đã xét Hiện thành công";
                            LoadProvinceList();
                        }
                        else { lbStatus.Text = "Lỗi, Không thể thực hiện thao tác này."; }
                    }
                    else
                    {
                        //True
                        if (ProvinceBll.UpdateIsActive(id, false, Utility.strConnect))
                        {
                            lbStatus.Text = "Bạn đã chọn Tin #Ẩn thành công";
                            LoadProvinceList();
                        }
                        else { lbStatus.Text = "Lỗi, Không thể thực hiện thao tác này."; }
                    }
                }
            }
            catch { }
        }
        protected void lnkbtDelete_Click(object sender, EventArgs e)
        {
            try
            {
                LinkButton lnkbtDelete = (LinkButton)sender;
                int id = Convert.ToInt32(lnkbtDelete.Attributes["id"]);

                if (id > 0)
                {
                    if (ProvinceBll.UpdateIsDeleted(id, true, Utility.strConnect))
                    {
                        lbStatus.Text = "Bạn xóa thành công";
                    }
                    else
                    {
                        lbStatus.Text = "Thất bại rồi bạn à";
                    }
                    LoadProvinceList();
                }
            }
            catch { }
        }

        protected void grvProvince_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            grvProvince.PageIndex = e.NewPageIndex;
            LoadProvinceList();
        }

        protected void btActiveProvine_Click(object sender, EventArgs e)
        {
            try
            {
                if (string.IsNullOrEmpty(txtProvince.Text.Trim()))
                {
                    lbStatus.Text = " Bạn cần nhập tên tình / thành phố.";
                    return;
                }
                nlit_Province Info = new nlit_Province();
                Info.Id = _id;
                Info.Name = txtProvince.Text.Trim();
                if (_id > 0)
                {
                    if (ProvinceBll.Update(Info, Utility.strConnect))
                        lbStatus.Text = "Cập nhật thông tin tỉnh / thành phố thành công";
                    else
                        lbStatus.Text = "Cập nhật thông tin tỉnh / thành phố thất bại";
                }
                else
                {
                    Info.IsActive = true;
                    Info.IsDeleted = false;
                    Info.OrderDisplay = 0;
                    if (ProvinceBll.Insert(Info, Utility.strConnect) > 0)
                        lbStatus.Text = "Thêm mới thông tin tỉnh / thành phố thành công";
                    else
                        lbStatus.Text = "Thêm mới thông tin tỉnh / thành phố thất bại";
                }
                LoadProvinceList();
            }
            catch { }
        }
        protected void btUpdatePosition_Click(object sender, EventArgs e)
        {
            try
            {
                foreach (GridViewRow row in grvProvince.Rows)
                {
                    try
                    {
                        Label lbId = (Label)row.FindControl("lblId");
                        int id = Convert.ToInt32(lbId.Text);
                        TextBox txt = (TextBox)row.FindControl("txtPosition");
                        int pos = Convert.ToInt32(txt.Text);
                        ProvinceBll.UpdateOrderDisplay(id, pos, Utility.strConnect);
                    }
                    catch { }
                }
                LoadProvinceList();
            }
            catch { }
        }
    }
}